package com.ruoyi.his.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;

import com.ruoyi.his.domain.*;
import org.apache.ibatis.annotations.Param;

/**
 * 【请填写功能名称】Mapper接口
 * 
 * @author Alan
 * @date 2024-03-22
 */
public interface OdsDoctorAllMapper extends BaseMapper<OdsDoctorAll>
{
    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public OdsDoctorAll selectOdsDoctorAllById(Long id);

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param odsDoctorAll 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<OdsDoctorAll> selectOdsDoctorAllList(OdsDoctorAll odsDoctorAll);
    public List<OdsDoctorAll> selectByReg(String reg);
    public List<OdsDoctorAll> selectBySigAndHos(@Param("signature") String signature, @Param("hospitalId") String hospitalId);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param odsDoctorAll 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<OdsDoctorAll> selectByLicence(OdsDoctorAll odsDoctorAll);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param odsDoctorAll 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<OdsDoctorAll> selectByIdCard(OdsDoctorAll odsDoctorAll);



    /**
     * 新增【请填写功能名称】
     * 
     * @param odsDoctorAll 【请填写功能名称】
     * @return 结果
     */
    public int insertOdsDoctorAll(OdsDoctorAll odsDoctorAll);

    /**
     * 修改【请填写功能名称】
     * 
     * @param odsDoctorAll 【请填写功能名称】
     * @return 结果
     */
    public int updateOdsDoctorAll(@Param("item") OdsDoctorAll odsDoctorAll);

    public int updateByCode(OdsDoctorAll odsDoctorAll);

    /**
     * 删除【请填写功能名称】
     * 
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteOdsDoctorAllById(Long id);

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOdsDoctorAllByIds(Long[] ids);


    int updateOdsDoctorAllByIdcard(OdsDoctorAll odsDoctorAll);

    /**
     * 根据执业证号查签名为空
     *
     * @return 结果
     */
    List<OdsDoctorAll> selectBySignatureIsNull(String dlicence);

    /**
     * 根据执业证号查签名不为空
     *
     * @return 结果
     */
    OdsDoctorAll selectBySignatureIsNotNull(String dlicence);
    /**
     * 根据主键更新签名和HospitalId
     *
     * @return 结果
     */
    int updateById(OdsDoctorAll vo);

    List<OdsDoctorAll> selectOdsDocListBySig(String signature);

    /**
     * 修改【请填写功能名称】
     *
     * @param signature 【签名】
     * @return 结果
     */
    public List<OdsDoctorAll> checkSameName(String signature);


    /**
     * 根据批量更新
     *
     * @return 结果
     */
    public int updateOfListDcode(List<OdsDoctorAll> list);

    /**
     * 根据批量更新
     *
     * @return 结果
     */
    public int updateOfListIdCard(List<OdsDoctorAll> list);

    /**
     * 根据批量更新
     *
     * @return 结果
     */
    public int updateOfListIdLicence(List<OdsDoctorAll> list);
    /**
     * 批量插入
     *
     * @param list 【请填写功能名称】
     * @return 结果
     */
    public int InsertOfList(List<OdsDoctorAll> list);

    /**
     * 删除重复的nurse_id只保留最老的一条
     *
     * @return 结果
     */
    public int deleteKeepOneByDid();

    /**
     * 删除重复的id_card只保留最老的一条
     *
     * @return 结果
     */
    public int deleteKeepOneByIdCard();

    /**
     * 删除重复的执业证号只保留最老的一条
     *
     * @return 结果
     */
    public int deleteKeepOneBylicence();

}
